Function ArrayFromWildcard( WildcardPath as string ) as PathDictionaryClass of Nothing
For Each step_path In ArrayFromWildcard( "data\*" ).FilePaths
echo step_path
Next
可能:
"*", "*.txt", "file*", "folder\*.txt", Array( "Fo\*.txt", "Fo\*.log" ),
"folder", "Debug\", "Fo\*.txt | Fo\*.log", "Fo\*.txt, Fo\*.log",
"NoWildcard.txt", "folder\*", "fo\*\file.txt", "*\file.txt", ".\file.txt"
関連
→ ファイル一覧
テスト
高速なフォルダ一覧
ファイル名やフォルダー名でソートされます。
サンプル
性能
不可能:
"folder*\file.txt"
ファイル・パスの配列を使ってコピーする
ソース
→ vbslib.vbs
返り値
of Nothing
→ T_Wildcard.vbs
T_ArrayFromWildcard1
が使えます。 例: "folder\*\back_up.txt", "folder\.\*.txt"
PathDictionaryClass のオブジェクトを指定したら、そのオブジェクトを返します。
ワイルドカードが、ファイル名やフォルダー名に相当する部分(もっとも右の \ の右側)に
あれば、サブ・フォルダーも検索します。
が優先されます。
ただし、WildcardPath 引数に指定した
サブ フォルダー記号が指定されていない( .\ も *\ もない)ときは、
指定したパスのファイルやフォルダーがないときはエラーにします(サブ フォルダー
記号 * や、ワイルドカードが無いときのみ)。
ファイルに対する処理の場合(ArrayFromWildcard の返り値の FilePaths プロパティ
などが参照される場合)、フォルダーのパスを指定すると、サブ・フォルダーにある
ファイルも検索します。
BasePath プロパティが指定フォルダーになる ArrayFromWildcard
と違い、BasePath プロパティは、カレント フォルダーになります。
path = GetFirst( ArrayFromWildcard( "Sub\File*.txt" ).FilePaths )
サンプル
ワイルドカードを1つだけ展開します。